-- stack: in -- format: 8 (HyperCard 1) -- flags: 0x1000 (none) -- protect password hash: 0 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 1 -- first background id: 2725 -- card count: 1 -- first card id: 2998 -- list block id: 2172 -- print block id: 0 -- font table block id: 0 -- style table block id: 0 -- free block count: 2 -- free size: 23296 bytes -- total size: 49152 bytes -- stack block size: 5632 bytes -- created by hypercard version: 0x00000000 -- compacted by hypercard version: 0x01208000 -- modified by hypercard version: 0x01208000 -- opened by hypercard version: 0x01208000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0x038448300C020101 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAA00800088008000 -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- on openstack hide message hide menubar global FinderHype, cnt put the secs into cnt put NewMenu("FinderHype","Help...","(-","Copy/9","Rename/8","Delete/7","(-","Restart","Shutdown") into FinderHype if FinderHype = 0 then answer("Unable to make menu 'FinderHype'") show menubar if the version < 1.2 then beep 2 answer "Your copy of FinderHype is for HyperCard 1.2." end if end openstack on closestack hide menubar global FinderHype put DeleteMenu (FinderHype) into MyMenu pass closestack end closestack on idle global FinderHype, cnt if (the secs - cnt) > 3 then put the secs into cnt put the time into card field "time" of card 1 showMenu(FinderHype) end if pass idle end idle on domenu which if which = "Help..." then visual zoom out go to this card set visible of card field info to not visible of card field info exit domenu end if if which = "Copy" then put "Select a file to copy ..." put filename() into oldFile put empty hide message if oldfile = empty then exit domenu put lastpathcomponent(oldfile) & ".new" into default get copyFile(oldFile,newfilename("",default)) if it ≠ 0 then OSErr(it exit domenu end if if which = "Rename" then put "Please select a file to rename" put filename() into renamethis if renamethis = empty then hide message exit domenu end if hide message put LastPathComponent(renamethis) into shortname ask "What do you want to name this file?" with shortname if it = shortname or it = empty then hide message put RenameFile(renamethis,it) into returnedthis if returnedthis = 0 then answer "File successfully renamed." else if returnedthis < 0 then OsErr returnedthis else answer "Whoops, there was an error." end if exit domenu end if if which = "Delete" then put "Please select a file to delete" put filename() into deletethis if deletethis = empty then hide message window exit domenu end if hide message window get lastpathcomponent(deletethis) answer "Delete" && quote & it & quote &"?" with "Cancel" or "OK" if it is "Cancel" then exit domenu put deletefile(deletethis) into returnedthis if returnedthis = 0 then answer "File Successfully Deleted" else if returnedthis < 0 then OsErr returnedthis else answer "Sorry, there was an error" exit domenu end if if which = "Shutdown" then Answer "Shut Down?" with Cancel or OK if it = "ok" then Shutdown exit domenu end if if which = "Restart" then Answer "Restart?" with Cancel or OK if it = "ok" then DoRestart exit domenu end if pass domenu end domenu on OsErr err -- Translate the most common ones if err > 0 then -- XFCN convention put "Parameter error with function" into errstr else if err is -59 then put "Problem during rename" into errstr else if err is -54 then put "Attempt to open locked file for writing" into errstr else if err is -46 then put "Volume locked by software" into errstr else if err is -45 then put "File locked" into errstr else if err is -44 then put "Volume locked by hardware" into errstr else if err is -43 then put "File not found" into errstr else if err is -37 then put "Bad volume or file name" into errstr else if err is -36 then put "I/O error" into errstr else if err is -35 then put "No such volume" into errstr else if err is -34 then put "Disk is full" into errstr else if err is -49 then put "File already open for writing" into errstr else put "Failed with error" && err into errstr end if answer errstr with "OK" end OsErr function LastPathComponent name repeat with i = the length of name down to 1 if character i of name is ":" then exit repeat end repeat if i is 1 then if first character of name is ":" then put 2 into i end if else add 1 to i -- skip the colon end if put empty into lastpath repeat with j = i to the length of name put character j of name after lastpath end repeat return lastpath end LastPathComponent